//
//  trooper.h
//  Predator Test
//
//  Created by Tyler Hawkins on 01/02/08.
//  Copyright 2008 __MyCompanyName__. All rights reserved.
//

#import <Cocoa/Cocoa.h>


@interface Trooper : NSObject {
	CGRect representation;
	CGPoint position;
	int health;
	CGPoint center;
	CGPoint terminatingPoint;
	int width;
	float angle;
	
	CGPathRef visableArea;
	CGPathRef attackableArea;
	
	id myDelegate;
}


// FIXME - Too many accessors - cut this down to the bare minimum.
- (id) initWithPosition: (CGPoint) thePosition andHealth: (int) theHealth andVectorCenter: (CGPoint) cntrPoint andVectorTerminationPoint: (CGPoint) termPoint andWIdth: (int) width;
- (id) initWithPosition: (CGPoint) thePosition andHealth: (int) theHealth andAngle: (float) angle andWIdth: (int) width andDelegate: (id) dlgt;

// AI Related Controls / Modes

- (void) chooseBehavAction;
- (void) followFriend_Behav: (int) friendsIndex;
- (void) hoboMode_Behav;



// Lower Level actions

- (void) setAttackableArea: (CGPathRef) vsbl;
- (CGPathRef) attackableArea;

- (void) setVisibleArea: (CGPathRef) vsbl;
- (CGPathRef) visableArea;

- (void) setAngle: (float) anAgnle;
- (float) angle;

- (void) setPosition: (CGPoint) thePosition;
- (void) setHealth: (int) theHealth;
- (void) setVetorPointOrigin: (CGPoint) origin andVectorPoint: (CGPoint) terminationPoint;

- (void) generateTheOrigin;
- (void) generateTheTermpoint;


- (void) setTermpoint: (CGPoint) trmPt;
- (void) setRepresentation: (CGRect) theRep;
- (void) createRepresentation;
- (CGRect) representation;

- (void) setWidth: (int) wide;
- (CGPoint) getPosition;
- (int) health;
- (CGPoint) getCenter;
- (void) setCenter: (CGPoint) cntr;
- (CGPoint) terminatingPoint;

@end
